#ifndef AI9_LOGIC_2017_INTERPRETER_H
#define AI9_LOGIC_2017_INTERPRETER_H
#include "json/json.h"
#include "PPlayerInfo.h"
#include "PlayerInfo.h"
#include "Commands.h"

namespace SDK {
    UnitTypeNamespace::BuffType loadBuffName(std::string name);
    std::string writeBuffName(UnitTypeNamespace::BuffType buffType);
    UnitTypeNamespace::SkillType loadSkillName(std::string name);
    std::string writeSkillName(UnitTypeNamespace::SkillType skillType);
    PPlayerInfo::Robot::Buff interpretBuff(std::string name, Json::Value root);
    PPlayerInfo::Robot::Skill interpretSkill(std::string name, Json::Value root);
    PPlayerInfo::Robot interpretRobot(Json::Value root);
    PPlayerInfo interpretPlayerInfoStatus(Json::Value root);
    PPlayerInfo interpretPlayerInfo(const PlayerInfo &playerInfo);
    Command translateOperation(const PPlayerInfo& pPlayerInfo, const PCommand::Operation &operation);
    Commands translateCommands(const PPlayerInfo& pPlayerInfo, const PCommand &pCommand);
}
#endif //AI9_LOGIC_2017_INTERPRETER_H
